Career 2025 2024 2023 2022 2021 2020 2019 2018 2017 2016 2015 2014 2013 2012 2011 2010 2009 2008 2007
All Rounds Final 1/2 1/4 First Second Third Fourth Pre-q Rubber 1 Rubber 2 Rubber 3 Rubber 4 Rubber 5 Robin Bronze Q3 N/A Q2 Q1 ER Q4 CR QF Q5 N/A
All Courts Acrylic N/A Clay Grass Carpet Hard I.hard
All Tour Wimbledon - London Generali Open - Kitzbuhel Porto Challenger U.S. Open - New York Guangzhou Challenger Prague 3 Challenger Mallorca Challenger Shanghai Challenger Chengdu Open - Chengdu Davis Cup, Group I, 1R, AUT-POR 1-3 Braga Challenger Bratislava 2 Challenger Lisbon Challenger Shanghai Rolex Masters - Shanghai Rakuten Japan Open - Tokyo Swiss Indoors Basel - Basel Ortisei Challenger Rolex Paris Masters - Paris Ismaning Challenger Sofia Open - Sofia Calgary Challenger Drummondville Challenger BMW Open - Munich Oeiras 2 Challenger Oeiras 1 Challenger Adelaide International - Adelaide Australian Open - Melbourne Brisbane International - Brisbane Manama Challenger Davis Cup, World Group, Q, FIN-POR 3-1 Qatar ExxonMobil Open - Doha Wimbledon - London BNP Paribas Open - Indian Wells Miami Open - Miami Dubai Duty Free Tennis Championships - Dubai Girona Challenger Monte-Carlo Rolex Masters - Monte-Carlo Internazionali BNL d'Italia - Rome Millennium Estoril Open - Estoril Mutua Madrid Open - Madrid Winston-Salem Open - Winston-Salem Chengdu Open - Chengdu Atlanta Open - Atlanta U.S. Open - New York Guangzhou Challenger Japan Open Tennis Championships - Tokyo Shanghai Rolex Masters - Shanghai Swiss Indoors Basel - Basel Qatar ExxonMobil Open - Doha Almaty Open - Almaty Rolex Paris Masters - Paris Belgrade Open - Belgrade Dubai Duty Free Tennis Championships - Dubai BNP Paribas Open - Indian Wells BMW Open - Munich National Bank Open - Toronto Brisbane International - Brisbane Adelaide International - Adelaide Australian Open - Melbourne Internazionali BNL d'Italia - Rome Miami Open - Miami Rothesay International - Eastbourne Mutua Madrid Open - Madrid Tiriac Open - Bucharest Cassis Challenger French Open - Paris Hamburg Open - Hamburg Libema Open - 's-Hertogenbosch Birmingham Challenger cinch Championships - London Wimbledon - London National Bank Open - Toronto Citi Open - Washington U.S. Open - New York Guangzhou Challenger Chengdu Open - Chengdu Spain F17 Spain F18 Spain F19 Spain F22 Spain F23 Spain F26 Spain F27 Spain F33 Spain F34 Spain F35 Portugal F4 Portugal F5 Spain F38 Spain F39 Spain F40 Spain F41 Spain F3 Spain F5 Spain F6 Spain F8 Spain F9 Spain F10 Spain F13 Spain F17 Spain F18 Spain F19 Spain F20 Romania F10 Romania F11 Spain F30 Spain F31 Spain F33 Spain F34 Portugal F7 Portugal F8 Spain F39 Spain F40 Spain F41 Spain F42 United Arab Emirates F1 United Arab Emirates F2 Spain F3 Spain F4 Spain F5 Spain F7 Spain F10 Spain F11 Turkey F4 Turkey F5 Turkey F6 Spain F16 Spain F17 Spain F18 Spain F20 Spain F21 France F12 Spain F28 Spain F29 Spain F30 Portugal F4 Portugal F5 Spain F35 Spain F37 Spain F3 Spain F4 Italy F2 Italy F3 Spain F16 Spain F17 Spain F18 Spain F19 Spain F20 Italy F17 Spain F31 Spain F35 Spain F36 France F4 Spain F14 Spain F15 Spain F36 Australia F8 Spain F37 Australia F9 Spain F38 Australia F11 Japan F3 Vietnam F2 Australia F8 Australia F1 Australia F2 Australia F3 Australia F4 Australia F5 Croatia F8 Croatia F9 Croatia F11 Croatia F12 Croatia F13 Turkey F22 Turkey F23 Croatia F16 Croatia F17 Croatia F18 Croatia F19 Australia F7 Australia F8 Australia F9 Australia F1 Australia F2 Australia F4 Australia F5 Thailand F1 Thailand F2 Thailand F3 Korea F1 Korea F2 Australia F7 Australia F9 Australia F1 Australia F2 Australia F3 Croatia F5 Croatia F6 Croatia F7 Italy F12 Italy F13 Italy F14 Macedonia F1 Macedonia F2 Serbia F1 Serbia F3 Serbia F4 Spain F28 Sweden F4 Australia F8 Australia F4 Australia F10 USA F30 (Claremont) Serbia F3 (Novi Sad) Turkey F29 (Antalya) Turkey F30 (Antalya) Turkey F31 (Antalya) Turkey F32 (Antalya) Turkey F33 (Antalya) Turkey F34 (Antalya) Turkey F35 (Antalya) M25 Albury M25 Mildura M15 Mornington M15 Mornington M15 Antalya M15 Antalya M15 Antalya M25 Prijedor M25 Doboj M15 Brcko M25 Kiseljak M15 Balatonalmadi M25 Pardubice M25 Casinalbo Seoul Challenger Western & Southern Open - Cincinnati Internazionali BNL d'Italia - Rome Mamaia Challenger - Constanta Kos Succhetti Tennis Cup - Cordenons Orbetello Challenger Seville Challenger Tarragona Challenger Rennes Challenger Tanger Challenger Meknes Challenger Rabat Challenger Marrakech Challenger Leon Challenger Tallahassee Challenger Tunis Challenger Reggio Emilia Challenger Turin Challenger Recanati Challenger Tampere Challenger Istanbul Challenger Manerbio Challenger Seville Challenger Izmir Challenger Sao Paulo Challenger Heilbronn Challenger Courmayeur Challenger Quimper Challenger Casablanca Challenger Guangzhou Challenger Pingguo Challenger St. Brieuc Challenger Rome Challenger Cremona Challenger Furth Challenger Kosice Challenger Marburg Challenger Braunschweig Challenger Tampere Challenger Segovia Challenger San Marino Challenger San Sebastian Challenger Seville Challenger Szczecin Challenger Trnava Challenger Madrid Challenger Eckental Challenger Kazan Challenger Caloundra Challenger Quimper Challenger Bergamo Challenger Meknes Challenger Casablanca Challenger Rabat Challenger Marrakech Challenger Mersin Challenger Rome Challenger 84° Concurso Internacional Tenis San Sebastian - San Sebastian Bordeaux Challenger Furth Challenger Kosice Challenger Milan Challenger Tampere Challenger Sibiu Challenger Cordenons Challenger Como Challenger Alphen Challenger Trnava Challenger Madrid Challenger San Juan Challenger Rio De Janeiro Challenger Porto Alegre Challenger Montevideo Challenger Bordeaux Challenger Furth Challenger Kosice Challenger Todi Challenger San Benedetto Challenger Poznan Challenger Guimaraes Challenger Burnie Challenger West Lakes Challenger Traralgon Challenger Traralgon Challenger 2 Happy Valley Challenger Burnie Challenger Launceston Challenger Gimcheon Challenger Traralgon Challenger Canberra Challenger Seville Challenger Banja Luka Challenger Sibiu Challenger Traralgon Challenger Canberra Challenger Burnie Challenger Launceston Challenger Yokohama Challenger Zhuhai Challenger Shenzhen Challenger Quanzhou Challenger Panama City Challenger Tallahassee Challenger Savannah Challenger Samarkand Challenger Shymkent Challenger Lisbon Challenger Poprad Tatry Challenger Milan Challenger Cortina Challenger Liberec Challenger Tiburon Challenger Stockton Challenger Fairfield Challenger Las Vegas Challenger Traralgon Challenger Canberra Challenger Playford Challenger Tampere Challenger Sopot Challenger Pullach Challenger Burnie Challenger Launceston Challenger San Benedetto Challenger Tampere Challenger Sopot Challenger Cordenons Challenger L'Aquila Challenger Como Challenger Banja Luka Challenger Sibiu Challenger Fairfield Challenger Las Vegas Challenger Charlottesville Challenger Knoxville Challenger Houston Challenger Noumea Challenger Bendigo Challenger Dallas Challenger Cleveland Challenger Drummondville Challenger Columbus Challenger Indian Wells Challenger Biella Challenger Barcelona Challenger Antalya 2 Challenger Mallorca Challenger St. Tropez Challenger Cassis Challenger Biel Challenger Orleans Challenger Alicante Challenger Brest Challenger Bergamo Challenger Tenerife Challenger Bratislava Challenger Helsinki Challenger Manama Challenger Quimper Challenger Oeiras 2 Challenger Madrid Challenger Split Challenger Zagreb Challenger Surbiton Challenger Malaga Challenger Porto Challenger Chicago Challenger Gwangju Challenger Seoul Challenger Busan Challenger Yokohama Challenger Kobe Challenger Manama Challenger Phoenix Challenger Girona Challenger Oeiras 3 Challenger Split Challenger Aix En Provence Challenger Tunis Challenger Vicenza Challenger Surbiton Challenger Maia Challenger Estoril Open - Estoril Estoril Open - Estoril Estoril Open - Estoril If Stockholm Open - Stockholm Open Sud de France - Montpellier Open 13 - Marseille German Tennis Championships - Hamburg Aircel Chennai Open - Chennai Open Sabadell Atlantico - Barcelona Estoril Open - Estoril Credit Agricole Suisse Open - Gstaad Aircel Chennai Open - Chennai Apia International - Sydney VTR Open - Vina del Mar Brasil Open - Sao Paulo Copa Claro - Buenos Aires Abierto Mexicano Telcel - Acapulco Power Horse Cup - Dusseldorf Winston-Salem Open - Winston-Salem St. Petersburg Open - St. Petersburg Malaysian Open - Kuala Lumpur Kremlin Cup - Moscow Valencia Open - Valencia Qatar ExxonMobil Open - Doha Apia International - Sydney Open Sud de France - Montpellier Copa Claro - Buenos Aires Rio Open 500 - Rio de Janeiro Abierto Mexicano Telcel - Acapulco Grand Prix Hassan II - Casablanca Barcelona Open BancSabadell - Barcelona Portugal Open - Oeiras Power Horse Cup - Dusseldorf Gerry Weber Open - Halle Topshelf Open - 's-Hertogenbosch SkiStar Swedish Open - Bastad Bet-at-home Open - Hamburg Vegeta Croatia Open - Umag Moselle Open - Metz Malaysian Open - Kuala Lumpur China Open - Beijing If Stockholm Open - Stockholm Valencia Open - Valencia Heineken Open - Auckland Apia International - Sydney Open Sud de France - Montpellier ABN AMRO World Tennis Tournament - Rotterdam Open 13 - Marseille Dubai Duty Free Tennis Championships - Dubai Barcelona Open BancSabadell - Barcelona Geneva Open - Geneva Topshelf Open - 's-Hertogenbosch AEGON Championships - London Aegon Nottingham Open - Nottingham Vegeta Croatia Open - Umag Credit Agricole Suisse Open - Gstaad Winston-Salem Open - Winston-Salem Malaysian Open - Kuala Lumpur Rakuten Japan Open - Tokyo Kremlin Cup - Moscow Valencia Open - Valencia St. Petersburg Open - St. Petersburg Millennium Estoril Open - Estoril ASB Classic - Auckland Open Sud de France - Montpellier ABN AMRO World Tennis Tournament - Rotterdam Open 13 - Marseille Dubai Duty Free Tennis Championships - Dubai Grand Prix Hassan II - Marrakech Barcelona Open BancSabadell - Barcelona Millennium Estoril Open - Estoril Open de Nice Cote d'Azur - Nice Gerry Weber Open - Halle Aegon Nottingham Open - Nottingham SkiStar Swedish Open - Bastad Studena Croatia Open - Umag Konzum Croatia Open - Umag Winston-Salem Open - Winston-Salem St. Petersburg Open - St. Petersburg Chengdu Open - Chengdu Rakuten Japan Open - Tokyo European Open - Antwerp Erste Bank Open - Vienna ASB Classic - Auckland Apia International - Sydney Argentina Open - Buenos Aires Rio Open - Rio de Janeiro Brasil Open - Sao Paulo Barcelona Open BancSabadell - Barcelona Millennium Estoril Open - Estoril Geneva Open - Geneva Antalya Cup - Antalya Konzum Croatia Open - Umag Suisse Open - Gstaad Generali Open - Kitzbuhel Winston-Salem Open - Winston-Salem St. Petersburg Open - St. Petersburg Shenzhen Open - Shenzhen Rakuten Japan Open - Tokyo European Open - Antwerp Swiss Indoors Basel - Basel ASB Classic - Auckland Sydney International - Sydney Garanti Koza Sofia Open - Sofia ABN AMRO World Tennis Tournament - Rotterdam Open 13 Provence - Marseille Dubai Duty Free Tennis Championships - Dubai Grand Prix Hassan II - Marrakech Barcelona Open BancSabadell - Barcelona Millennium Estoril Open - Estoril Open Parc - Lyon Gerry Weber Open - Halle Antalya Cup - Antalya Plava Laguna Croatia Open - Umag Swiss Open - Gstaad Winston-Salem Open - Winston-Salem St. Petersburg Open - St. Petersburg Chengdu Open - Chengdu China Open - Beijing Swiss Indoors Basel - Basel Brisbane International - Brisbane ASB Classic - Auckland Sydney International - Sydney Argentina Open - Buenos Aires Rio Open - Rio de Janeiro Brasil Open - Sao Paulo Barcelona Open Banc Sabadell - Barcelona Millennium Estoril Open - Estoril Geneva Open - Geneva Libema Open - 's-Hertogenbosch Noventi Open - Halle Turkish Airlines Open Antalya - Antalya SkiStar Swedish Open - Bastad Swiss Open - Gstaad Winston-Salem Open - Winston-Salem St. Petersburg Open - St. Petersburg Chengdu Open - Chengdu Rakuten Japan Open - Tokyo Intrum Stockholm Open - Stockholm Swiss Indoors Basel - Basel ASB Classic - Auckland Open Sud de France - Montpellier ABN AMRO World Tennis Tournament - Rotterdam Dubai Duty Free Tennis Championships - Dubai Generali Open - Kitzbuhel European Open - Antwerp Hamburg European Open - Hamburg Great Ocean Road Open - Melbourne Cordoba Open - Cordoba Argentina Open - Buenos Aires Qatar ExxonMobil Open - Doha Chile Dove Men+Care Open - Santiago Abierto Mexicano Telcel - Acapulco Dubai Duty Free Tennis Championships - Dubai Serbia Open - Belgrade Millennium Estoril Open - Estoril Open Parc - Lyon Mercedes Cup - Stuttgart Noventi Open - Halle Mallorca Championships - Mallorca Hall of Fame Open - Newport Hamburg European Open - Hamburg Truist Atlanta Open - Atlanta Estoril Open - Estoril Sardegna Open - Cagliari Belgrade 2 - Belgrade Melbourne Summer Set - Melbourne Sydney Tennis Classic - Sydney Tata Open Maharashtra - Pune Qatar ExxonMobil Open - Doha Dubai Duty Free Tennis Championships - Dubai Grand Prix Hassan II - Marrakech Serbia Open - Belgrade Millennium Estoril Open - Estoril Gonet Geneva Open - Geneva Mercedes Cup - Stuttgart Noventi Open - Halle Mallorca Championships - Mallorca Heineken Open - Auckland Nordea Open - Bastad Swiss Open - Gstaad Generali Open - Kitzbuhel Winston-Salem Open - Winston-Salem Moselle Open - Metz Stockholm Open - Stockholm Erste Bank Open - Vienna San Diego Open - San Diego Korea Open - Seoul Tel Aviv Watergen Open - Tel Aviv Gijon Open - Gijon Adelaide International 1 - Adelaide Adelaide International 2 - Adelaide ASB Classic - Auckland Cordoba Open - Cordoba Argentina Open - Buenos Aires Rio Open - Rio de Janeiro Qatar ExxonMobil Open - Doha Dubai Duty Free Tennis Championships - Dubai Chile Dove Men+Care Open - Santiago Grand Prix Hassan II - Marrakech Millennium Estoril Open - Estoril BMW Open - Munich Gonet Geneva Open - Geneva Boss Open - Stuttgart Mallorca Championships - Mallorca Plava Laguna Croatia Open - Umag Winston-Salem Open - Winston-Salem Winston-Salem Open - Winston-Salem Gerry Weber Open - Halle Citi Open - Washington BNP Paribas Open - Indian Wells Sony Open Tennis - Miami Mutua Madrid Open - Madrid Western & Southern Open - Cincinnati BNP Paribas Masters - Paris BNP Paribas Open - Indian Wells Sony Open Tennis - Miami Monte-Carlo Rolex Masters - Monte-Carlo Mutua Madrid Open - Madrid Internazionali BNL d'Italia - Rome Rogers Cup - Toronto Western & Southern Open - Cincinnati Shanghai Rolex Masters - Shanghai BNP Paribas Masters - Paris BNP Paribas Open - Indian Wells Miami Open - Miami Monte-Carlo Rolex Masters - Monte-Carlo Mutua Madrid Open - Madrid Internazionali BNL d'Italia - Rome Rogers Cup - Montreal Western & Southern Open - Cincinnati Shanghai Rolex Masters - Shanghai BNP Paribas Open - Indian Wells Miami Open - Miami Monte-Carlo Rolex Masters - Monte-Carlo Mutua Madrid Open - Madrid Internazionali BNL d'Italia - Rome Rogers Cup - Toronto Western & Southern Open - Cincinnati Shanghai Rolex Masters - Shanghai BNP Paribas Masters - Paris BNP Paribas Open - Indian Wells Miami Open - Miami Monte-Carlo Rolex Masters - Monte-Carlo Mutua Madrid Open - Madrid Western & Southern Open - Cincinnati Shanghai Rolex Masters - Shanghai BNP Paribas Masters - Paris BNP Paribas Open - Indian Wells Miami Open - Miami Internazionali BNL d'Italia - Rome Rogers Cup - Toronto Western & Southern Open - Cincinnati Shanghai Rolex Masters - Shanghai BNP Paribas Masters - Paris BNP Paribas Open - Indian Wells Miami Open - Miami Monte-Carlo Rolex Masters - Monte-Carlo Mutua Madrid Open - Madrid Internazionali BNL d'Italia - Rome Western & Southern Open - Cincinnati Shanghai Rolex Masters - Shanghai Internazionali BNL d'Italia - Rome Western & Southern Open - New York BNP Paribas Open - Indian Wells Miami Open - Miami Monte-Carlo Rolex Masters - Monte-Carlo BNP Paribas Open - Indian Wells Miami Open - Miami Monte-Carlo Rolex Masters - Monte-Carlo Mutua Madrid Open - Madrid Internazionali BNL d'Italia - Rome National Bank Open - Montreal Western & Southern Open - Cincinnati Rolex Paris Masters - Paris BNP Paribas Open - Indian Wells Miami Open - Miami Monte-Carlo Rolex Masters - Monte-Carlo Mutua Madrid Open - Madrid Internazionali BNL d'Italia - Rome National Bank Open - Montreal Australian Open - Melbourne Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris U.S. Open - New York Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris Davis Cup, Group 2, 2R, POR-CYP 5-0 Davis Cup, Group 2, 1R, CYP-POR 3-2 Davis Cup, Group 2, PO, ALG-POR 0-5 Davis Cup, Europe/Africa Group II, 2R, POR-CYP 5-0 Davis Cup, Europe/Africa Group II, 3R, POR-BIH 3-2 Davis Cup, Group I, 1R, POR-SVK 4-1 Davis Cup, Group I, 2R, SUI-POR 5-0 Davis Cup, Group I, 2R, ISR-POR 3-2 Davis Cup, Group I, PO, SVK-POR 3-1 Davis Cup, Group II, 1R, POR-BEN 5-0 Davis Cup, Group II, 3R, MDA-POR 2-3 Davis Cup, Group I, 1R, SLO-POR 3-2 Davis Cup, Group I, PO, RUS-POR 4-1 Davis Cup, Group II, 1R, POR-MAR 4-1 Davis Cup, Group II, 2R, POR-FIN 4-1 Davis Cup, Group II, 3R, POR-BLR 3-2 Davis Cup, Group I, 1R, POR-AUT 1-4 Davis Cup, Group I, PO, POR-SLO 5-0 Davis Cup, Group I, 1R, POR-ISR 5-0 Davis Cup, Group I, 2R, POR-UKR 4-1 Davis Cup, World Group, PO, POR-GER 2-3 Davis Cup, Group I, 2R, SWE-POR 3-2 Davis Cup, Group I, PO, UKR-POR 3-1 Davis Cup, Group I, PO, POR-RSA 4-0 Davis Cup, World Group, QR, KAZ-POR 3-1 Davis Cup, Group I, 1R, BLR-POR 3-2 Davis Cup, World Group I, PO, LTU-POR 0-4 Davis Cup, Group I, 1R, ROU-POR 3-1 Davis Cup, Group I, PO, POR-POL 4-0 Davis Cup, Group I, 1R, POR-BRA 3-1 Davis Cup, World Group, PO, POR-CZE 1-3 Australian Open (juniors) Australian Open (Australia, Wildcard) Australian Open (Australia, Wildcard) Australian Open (Australia, Wildcard) All Lower level tournaments Olympics - Rio de Janeiro Olympics - Tokyo Australian Open (Australia, Wildcard)